﻿using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RBAC.Data;
/// <summary>
/// 表示用户。
/// </summary>
[Table("Users")]
public class User
{
    /// <summary>
    /// 用户唯一标识。
    /// </summary>
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    /// <summary>
    /// 用户名称，具备唯一性。
    /// </summary>
    [Required,StringLength(50)]
    public string Name { get; set; }

    /// <summary>
    /// 加密后的密码。
    /// </summary>
    [Required,StringLength(128)]
    public string PasswordHashed { get; set; }
    /// <summary>
    /// 所属角色。
    /// </summary>
    public virtual ICollection<Role> Roles { get; set; } = new HashSet<Role>();
}
